XORLW         : (eXclusif OR literal with W)
Opération logique XOR ( ou exclusif ) entre le contenu de W et une constante c


( W ) XOR c   ->  ( W )

Nombre de cycle d'horloge : 1

Indicateurs positionnés
:                                                    


Z si résultat stocké dans le registre W est nul  ( Z=1 )

Exemple :   

Dans cet exemple on charge une valeur dans le registre W puis on éxécute un ou exclusif avec une valeur immédiate , le résultat est dirigé vers le registre W

Movlw 01010101b            on charge 55h dans le registre W
Xorlw 00111100b             ou exclusif avec W le contenu du registreW = 01101001b


XORWF         : (eXclusif OR W with F)
Opération logique XOR ( ou exclusif ) entre le contenu de W et f le résultat en d


( W ) XOR ( f )    ->  ( d )

Nombre de cycle d'horloge : 1

Indicateurs positionnés
:                                                   

Z si résultat stocké dans le registre W est nul  ( Z=1 )

d est paramétrable
si d= 0 le résultat va dans le registre W
si d= 1 le résultat va dans le registre f

Exemple :   

Dans cet exemple on charge une valeur dans le registre W puis on éxécute un ou exclusif avec le contenu d'un registre temporaire, le résultat est dirigé vers le registre temporaire..

Reg_temp   equ    0Ah       OA correspond à l'adresse d' un registre temporaire
#define f 1                         on affecte la valeur 1 à la variable f

Movlw 01010101b            on charge 55h dans le registre W
Movwf  Reg_temp            on met W dans le registre temporaire
Movlw 00001111b           on charge 0Fh dans le registre W
Xorwf Reg_temp, f           ou exclusif avec W le contenu du registre temporaire= 01011010b